// Class
// Через этот класс происходит вся работа с сервером.
jsForms.Components.PhoneBook={
	Init:function()
	{
		return jsForms.Components.Component.Init.call(this);
	},
	Controls_onAddItem:function(data){
		this.C.controls.Clear();
		var mainControl = this;	// Так как внутри функции onAction, this указывает не на контрол	
		// Отправить на сервер данные, получить ответ что все ок ({})
		function onAction(json){
			mainControl.C.items.Add({phone:data.phone,name:data.name});
		}
		//$.getJSON(,{action:'add',name:data.name,phone:data.phone},onAction);
		onAction({});// Заглушка, вместо обращения к серверу
		return this;
	},
	Items_onDeleteItem:function(item){
		if (confirm('Delete "'+item.GetName()+'"?')){
			var mainControl = this;
			// Отправить на сервер данные, получить ответ что все ок ({})
			function onAction(json){
				mainControl.C.items.Remove(item);
			}
			//$.getJSON(,{action:'remove',name:item.GetName()},onAction);
			onAction({});// Заглушка, вместо обращения к серверу
		}
		return this;
	},
	bLoadTestData_onClick:function(){
		var mainControl = this;// Так как внутри функции onLoad, this указывает не на контрол
		function onLoad(data){
			mainControl.C.items.Clear().AddRange(data);
		}
		//$.getJSON('http://voffice.tigersoft.ru/action.php',{action:'get_phones'},onLoad);
		onLoad(eval('([{"phone":"05","name":"iTux"},{"phone":"111","name":"Help "}])'));// Заглушка, вместо обращения к серверу
		return this;
	},
	onStartUpload:function(control){
		alert(control.C.form_file.val());
	}
};

// -----------------------------------------------
// Compilation INFO
// -----------------------------------------------
jsForms.CreateCompileInfoByObject(
{
	Name: 'PhoneBook',
	/*Properties: {
		Title: {
			Type: 'String',
			Access: 'GETSET'
		},
		Draggable:{
			Type:'boolean',
			Access:'direct'
		},
		Resizable:{
			Type:'boolean',
			Access:'direct'
		}
	}
	Events: {
		onClose:{}
	},
	Contents:
	{
		items:{},
		controls:{}
	},*/
});
